///**
// * Copyright (C) 2014 xspace app Project.
// */
//
//package com.xspace.android.xafcommon.location;
//
//import android.content.Context;
//import android.util.Log;
//
//import com.baidu.location.BDLocation;
//import com.baidu.location.BDLocationListener;
//import com.baidu.location.LocationClient;
//
//import java.util.HashMap;
//import java.util.Map;
//
///**
// * @version V1.0.0
// * @ClassName: MyLocationListener
// * @author:Administrator
// * @Date：2014-3-6
// * @Description: TODO
// */
//public abstract class MyLocationListener implements BDLocationListener {
//    public LocationResult mLocationResult;
//    public final static Map<Integer, String> errorCode = new HashMap<Integer, String>();
//    public LocationClient mLocClient = null;
//    public Context mContext;
//    public static LocationInfoBean resultLocation;
//
//    @Override
//    public void onReceiveLocation(BDLocation location) {
//        //		Log.v("BDLocation", "Loc:Addr-->" + location.getAddrStr() + " 经纬度-->:"
//        //				+ location.getLatitude() + "#" + location.getLongitude()
//        //				+ " code:" + location.getLocType()+
//        //				"location:"+location.getAddrStr()+" poi:"+location.getPoi()
//        //				location.);
//        if (location == null) {
//            mLocationResult.locationErr("定位失败");
//            return;
//        }
//        if (errorCode.containsKey(location.getLocType())) {
//            Log.e("BaiduLoc_Error", errorCode.get(location.getLocType()));
//            if (location.getLocType() != 68) {
//                mLocationResult.locationErr(errorCode.get(location.getLocType()));
//                return;
//            }
//        }
//
//        if ((location.getLatitude() + "").indexOf("4.9E-324") >= 0) {
//            mLocationResult.locationErr("定位失败");
//            return;
//        }
//
//        Log.e("定位", "Loc:Addr-->" + location.getAddrStr() + " 经纬度-->:" + location.getLatitude() + "#"
//                + location.getLongitude() + " code:" + location.getLocType() + "location:" + location.getAddrStr()
//                + "street:" + location.getStreet() + "Street number:" + location.getStreetNumber() + "  cityCode " + location.getCityCode()
//                +"location.getCountryCode() "+location.getCountryCode()+ " "
//        );
////        stopLocate();
//
//        LocationInfoBean info = new LocationInfoBean();
//        info.latitude = location.getLatitude();
//        info.longitude = location.getLongitude();
//        info.accuracy = location.getRadius();
//        info.successTime = System.currentTimeMillis();
//        if (location.getLocType() == BDLocation.TypeNetWorkLocation) {
//            StringBuffer sb = new StringBuffer();
//            sb.append("省：");
//            sb.append(location.getProvince());
//            sb.append("市：");
//            sb.append(location.getCity());
//            sb.append(location.getDistrict());
//            sb.append(location.getAddrStr());
//            info.name = sb.toString();
//            info.province = location.getProvince();
//            info.city = location.getCity();// 市/地区
//            info.district = location.getDistrict();// 县
//            info.addrStr = location.getAddrStr();// 街道
//            info.street = location.getStreet();// 街道
//            mLocationResult.result(true, info);
//        } else {
//            mLocationResult.result(true, info);
//        }
//        resultLocation = info;
//        Log.e("loc", "保存为全局变量");
//    }
//
//    static {
//        // 61 ： GPS定位结果
//        // 62 ： 扫描整合定位依据失败。此时定位结果无效。
//        // 63 ： 网络异常，没有成功向服务器发起请求。此时定位结果无效。
//        // 65 ： 定位缓存的结果。
//        // 66 ： 离线定位结果。通过requestOfflineLocaiton调用时对应的返回结果
//        // 67 ： 离线定位失败。通过requestOfflineLocaiton调用时对应的返回结果
//        // 68 ： 网络连接失败时，查找本地离线定位时对应的返回结果
//        // 161： 表示网络定位结果
//        // 162~167： 服务端定位失败。
//
//        errorCode.put(62, "无法获取有效定位依据，定位失败，请检查运营商网络或者wifi网络是否正常开启，尝试重新请求定位");
//        errorCode.put(63, "网络异常，没有成功向服务器发起请求，请确认当前测试手机网络是否通畅，尝试重新请求定位");
//        errorCode.put(65, " 定位缓存的结果");
//        errorCode.put(66, " 离线定位结果。通过requestOfflineLocaiton调用时对应的返回结果");
//        errorCode.put(67, " 离线定位结果。通过requestOfflineLocaiton调用时对应的返回结果");
//        errorCode.put(68, "网络连接失败时，查找本地离线定位时对应的返回结果");
//        errorCode.put(162, "请求串密文解析失败，一般是由于客户端SO文件加载失败造成，请严格参照开发指南或demo开发，放入对应SO文件");
//        errorCode.put(163, "服务端定位失败，请您检查是否禁用获取位置信息权限，尝试重新请求定位。");
//        errorCode.put(164, "服务端定位失败");
//        errorCode.put(165, "服务端定位失败");
//        errorCode.put(167, "服务端定位失败，请您检查是否禁用获取位置信息权限，尝试重新请求定位");
//        errorCode.put(166, "key无效");
//        errorCode.put(502, " key参数错误，请按照说明文档重新申请KEY");
//        errorCode.put(505, " key不存在或者非法，请按照说明文档重新申请KEY");
//        errorCode.put(601, "  key服务被开发者自己禁用，请按照说明文档重新申请KEY");
//        errorCode.put(602, "  key mcode不匹配，您的ak配置过程中安全码设置有问题，请确保：sha1正确，“;”分号是英文状态；且包名是您当前运行应用的包名，请按照说明文档重新申请KEY。");
//    }
//
//    public void stopLocate() {
//        if (mLocClient != null)
//            mLocClient.unRegisterLocationListener(this);
//        if (mLocClient != null && mLocClient.isStarted()) {
//            mLocClient.stop();
//        }
//        Log.e("stoplocate", "stoplocate");
//    }
//
//    //	@Override
//    //	public void onReceivePoi(BDLocation arg0) {
//    //		Log.e("定位", "Loc:Addr--> location:"+arg0.getAddrStr()+" poi:"+arg0.getStreet()+" "+arg0.getPoi());
//    //	}
//
//}
